package cn.wolfcode.crud.qo;

import java.util.ArrayList;
import java.util.List;

import lombok.Getter;
import lombok.Setter;

//封装页面的所有信息
@Getter @Setter
public class PageResult<T> {
	// 客户输入的2个条件
	private int currentPage;// 当前页
	private int pageSize;// 每页显示多少条数据
	// 2条sql结果
	private int rows;// 一共有多少条数据
	private List<?> result;// 当前页的所有数据
	// 3条计算结果
	private int totalPage;// 总页数
	private int prevPage;// 上一页
	private int nextPage;// 下一页

	public PageResult(int currentpage, int pageSize, int rows, List<?> result) {
		super();
		this.currentPage = currentpage;
		this.pageSize = pageSize;
		this.rows = rows;
		this.result = result;
		this.totalPage = rows % pageSize == 0 ? rows / pageSize : rows / pageSize + 1;
		this.prevPage = currentpage - 1 > 1 ? currentpage - 1 : 1;
		this.nextPage = currentpage + 1 < totalPage ? currentpage + 1 : totalPage;
	}

	public PageResult(int currentpage, int pageSize) {
		this(currentpage, pageSize,  0,  new ArrayList());
	}
}
